#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define debug(x) cerr<<#x<<':'<<x<<endl
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
const int N=1e5+5;
int n,m,q;
int f[N][6][6];
int a[N][6][6],c[N];
signed main(){
    IOS;
	freopen("paint.in","r",stdin);
	freopen("paint.out","w",stdout);
    cin>>n>>m>>q;
    for(int i=1;i<=n;i++) cin>>c[i];
    memset(a,-0x3f,sizeof(a));
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j][j];
        }
    }
    for(int i=1;i<=n;i++) a[i][0][c[i]]=a[i][c[i]][0]=a[i][0][0]=a[i][c[i]][c[i]];
    for(int i=0;i<=m;i++)
        for(int j=0;j<=m;j++){
            if(i==j) continue;
            f[0][i][j]=-1e18;
        }
    for(int t=1;t<=n;t++){
        for(int i=0;i<=m;i++) for(int j=0;j<=m;j++){
            if(i==j) continue;
            f[t][i][j]=-1e18;
        }
        for(int i=0;i<=m;i++)
            for(int j=0;j<=m;j++)
                for(int k=0;k<=m;k++)
                    f[t][i][j]=max(f[t][i][j],f[t-1][i][k]+a[t][k][j]);
    }
    cout<<f[n][0][0]<<endl;
    for(int _=1,op,x,y,lastans=f[n][0][0];_<=q;_++){
        cin>>op>>x>>y;
        x^=lastans,y^=lastans;
        if(op==1){
            a[x][0][c[x]]=a[x][c[x]][0]=a[x][0][0]=-1e18;
            c[x]=y;
            a[x][0][c[x]]=a[x][c[x]][0]=a[x][0][0]=a[x][c[x]][c[x]];
            continue;
        }
        for(int i=0;i<=m;i++)
            for(int j=0;j<=m;j++){
                if(i==j) f[x-1][i][j]=0;
                else f[x-1][i][j]=-1e18;
            }
        for(int t=x;t<=y;t++){
            for(int i=0;i<=m;i++) for(int j=0;j<=m;j++){
                if(i==j) f[t][i][j]=0;
                else f[t][i][j]=-1e18;
            }
            for(int i=0;i<=m;i++)
                for(int j=0;j<=m;j++)
                    for(int k=0;k<=m;k++)
                        f[t][i][j]=max(f[t][i][j],f[t-1][i][k]+a[t][k][j]);
        }
        cout<<f[y][0][0]<<endl;
        lastans=f[y][0][0];
    }
    return 0;
}
/*
5 3 6
2 1 3 1 3

5 7 3
7 3 4
7 4 5
4 6 6
4 7 7

2 33 37
1 33 33
2 34 36
1 17 16
2 16 23
1 28 26
*/